import { Action } from 'redux'
import { PayloadITF } from '@INTERFACES/Expert'
import { EventsITF } from '@INTERFACES/Events'
import { TagDetailITF } from '@INTERFACES/Tag'
import { CustomI18NITF } from '@INTERFACES/Common'
import { GoodsITF } from '@INTERFACES/Goods'
import { SurveyITF } from '@INTERFACES/Survey'

export interface ExpertActionITF extends Action {
  payload?: PayloadITF;
}

export interface TagIdsActionITF extends Action {
  tIds: string;
}

export interface ExpertStateITF {
  feedList: FeedITF[];
  loadingFeed: boolean;
  canLoadMore: boolean;
  specialTopic: TagDetailITF[];
  homeBanner: EventsITF[];
  popularSearch: SearchITF[];
  tagIds: string[];
  goods: GoodsITF[];
  templates: SurveyITF[];
}

export interface SearchITF {
  Title: CustomI18NITF;
}

export interface FeedITF {
  FeedItemId: string;
  FeedItem: string;
  Title: string;
  ContentSummary: string;
  CoverImageFileName: string;
  GroupId: string;
  DateBucket: string;
}
